<?php
class CotacaoBSN extends GenericBSN {

	function __construct() {
		$this->dao = new CotacaoDAO();
	}

	public function consultar($vars) {
		$this->preencher($vars);
		$this->Records = $this->dao->consultar($this->where, $this->params, $this->order . $this->limit);
		$this->TotalRecordCount = $this->dao->contarRegistros($this->where, $this->params);   
		$this->Result  = "OK";
	}
	
	public function consultarProduto($vars) {
		$dao = new Det_CotacaoDAO();

		$this->Records = $dao->consultarCotacao($vars['cotacao']);
		$this->Result = "OK";
		$this->TotalRecordCount = 0;
		foreach ($this->Records as $record) {
			++$this->TotalRecordCount;
		}
	}
	
	public function inserir($vars) {
		try {
			$registro['codigo']		= $vars['codigo'];
			$registro['descricao'] 	= $vars['descricao'];
						
			$this->Record  = $this->dao->inserir($registro);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->dao->rollback();
			$this->Result  = "ERROR";
			$this->Message = $e->getMessage();
		}
	}
	
	public function alterar($vars) {
		try {
			$registro['codigo']		= $vars['codigo'];
			$registro['descricao'] 	= $vars['descricao'];
			$registro['id']	   		= $vars['id'];
				
			$this->Record  = $this->dao->alterar($registro);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->dao->rollback();
			$this->Result  = "ERROR";
			$this->Message = $e->getMessage();
		}
	}

	public function excluir($registro) {
		$id = $registro['id'];

		try {
			$this->dao->Excluir($id);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->dao->rollback();
			$this->Result  = "ERROR";
			$this->Message = $e->getMessage();
		}
	}
	
	public function inserirProduto($vars) {
		try {
			$reg['cotacao'] 	  = $vars['cotacao'];
			$reg['produto'] 	  = $vars['produto'];
			$reg['descricao_aux'] = $vars['descricao_aux'];
			$reg['qtde']		  = $vars['qtde'];
			
			$dao = new Det_CotacaoDAO();
			$res = $dao->inserir($reg);
			
			$reg['codigo']		= $vars['codigo'];
			$reg['descricao']	= $vars['descricao'];
			$reg['unidade_compra_desc'] = $vars['unidade_compra_desc'];
			
			$this->Record  = $reg;
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->dao->rollback();
			$this->Result  = "ERROR";
			$this->Message = $e->getMessage();
		}
	}
	
	public function alterarProduto($vars) {
		try {
			$reg['cotacao'] 	  = $vars['cotacao'];
			$reg['produto'] 	  = $vars['produto'];
			$reg['descricao_aux'] = $vars['descricao_aux'];
			$reg['qtde']		  = $vars['qtde'];
				
			$dao = new Det_CotacaoDAO();
			$res = $dao->alterar($reg);
				
			$reg['codigo']		= $vars['codigo'];
			$reg['descricao']	= $vars['descricao'];
			$reg['unidade_compra_desc'] = $vars['unidade_compra_desc'];
				
			$this->Record  = $reg;
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->dao->rollback();
			$this->Result  = "ERROR";
			$this->Message = $e->getMessage();
		}
	}
	
	public function excluirProduto($vars) {
		try {
			$dao = new Det_CotacaoDAO();
			$pk = explode(",", $vars["pk"]);
			$reg['cotacao'] = $pk[0];
			$reg['produto'] = $pk[1];
	
			$dao->excluir($reg);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->Result  = "ERROR";
			$this->Message = $e->getMessage();
		}
	}
}
?>